package com.situ.fly.controller.api;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.situ.fly.entity.JSONResult;
import com.situ.fly.entity.Question;
import com.situ.fly.service.QuestionService;

/**
 * 这是一个WebAPI类
 * 这种类里面所有的方法, 都是返回JSON格式的
 * @author bobzyh
 *
 */
@RestController  // 这种类里面所有的方法, 都是返回JSON格式的
@RequestMapping("/api/question/")
public class APIQuestionController {

	@Autowired
	private QuestionService questionService;
	
	/**
	 * 修改属性的方法
	 */
	@PostMapping("/set")
	public Object set(Integer id, Integer rank, String field) {
		
		// 调用Service层对帖子的信息进行修改
		int res = questionService.setByField(field, rank, id);
		
		Map<String, Object> result = new HashMap<>();
		result.put("status", 0);	
		
		return result;
	}
	
	/**
	 * 获取问题信息
	 */
	@PostMapping("/get")
	public JSONResult get(Question question, String order) {
		// 获取置顶的数据
		 
		List questions = questionService.get(question, order);
		
		JSONResult json = new JSONResult();
		
		json.setData(questions);
		
		return json;
	}
	
	/**
	 * 本周热议榜
	 */
	@PostMapping("/weekReply")
	public JSONResult weekReply(Integer limit) {
		
		List questions = questionService.weekReply(limit);
		
		JSONResult json = new JSONResult();
		
		json.setData(questions);
		
		return json;
	}
}







